package com.wyzz.hr.pojo.base;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import com.wyzz.hr.pojo.Employee;
import com.wyzz.hr.pojo.Leavebalance;

public abstract class BaseLeavebalance implements Serializable {

	public BaseLeavebalance() {
		hashCode = 0x80000000;
		lbBalForward = new BigDecimal(0);
		lbDaysOfYear = new BigDecimal(0);
		lbTiaoxiuForward = new BigDecimal(0);
		lbTiaoxiuCurrent = new BigDecimal(0);
		lbTiaoxiuYearCanUse = new BigDecimal(0);
		tiaoxiuChoice = "1";
		nianjiaChoice = "1";
		initialize();
	}

	public BaseLeavebalance(String lbId) {
		hashCode = 0x80000000;
		lbBalForward = new BigDecimal(0);
		lbDaysOfYear = new BigDecimal(0);
		lbTiaoxiuForward = new BigDecimal(0);
		lbTiaoxiuCurrent = new BigDecimal(0);
		lbTiaoxiuYearCanUse = new BigDecimal(0);
		tiaoxiuChoice = "1";
		nianjiaChoice = "1";
		setLbId(lbId);
		initialize();
	}

	public BaseLeavebalance(String lbId, Employee lbEmpNo, String lbYear) {
		hashCode = 0x80000000;
		lbBalForward = new BigDecimal(0);
		lbDaysOfYear = new BigDecimal(0);
		lbTiaoxiuForward = new BigDecimal(0);
		lbTiaoxiuCurrent = new BigDecimal(0);
		lbTiaoxiuYearCanUse = new BigDecimal(0);
		tiaoxiuChoice = "1";
		nianjiaChoice = "1";
		setLbId(lbId);
		setLbEmpNo(lbEmpNo);
		setLbYear(lbYear);
		initialize();
	}

	protected void initialize() {
	}

	public String getLbId() {
		return lbId;
	}

	public void setLbId(String lbId) {
		this.lbId = lbId;
		hashCode = 0x80000000;
	}

	public String getLbYear() {
		return lbYear;
	}

	public void setLbYear(String lbYear) {
		this.lbYear = lbYear;
	}

	public BigDecimal getLbBalForward() {
		return lbBalForward;
	}

	public void setLbBalForward(BigDecimal lbBalForward) {
		this.lbBalForward = lbBalForward;
	}

	public Date getLbBalEndDate() {
		return lbBalEndDate;
	}

	public void setLbBalEndDate(Date lbBalEndDate) {
		this.lbBalEndDate = lbBalEndDate;
	}

	public BigDecimal getLbDaysOfYear() {
		return lbDaysOfYear;
	}

	public void setLbDaysOfYear(BigDecimal lbDaysOfYear) {
		this.lbDaysOfYear = lbDaysOfYear;
	}

	public String getLbComments() {
		return lbComments;
	}

	public void setLbComments(String lbComments) {
		this.lbComments = lbComments;
	}

	public Employee getLbEmpNo() {
		return lbEmpNo;
	}

	public void setLbEmpNo(Employee lbEmpNo) {
		this.lbEmpNo = lbEmpNo;
	}

	public boolean equals(Object obj) {
		if (null == obj)
			return false;
		if (!(obj instanceof Leavebalance))
			return false;
		Leavebalance leavebalance = (Leavebalance) obj;
		if (null == getLbId() || null == leavebalance.getLbId())
			return false;
		else
			return getLbId().equals(leavebalance.getLbId());
	}

	public int hashCode() {
		if (0x80000000 == hashCode) {
			if (null == getLbId())
				return super.hashCode();
			String hashStr = (new StringBuilder()).append(getClass().getName())
					.append(":").append(getLbId().hashCode()).toString();
			hashCode = hashStr.hashCode();
		}
		return hashCode;
	}

	public String toString() {
		return super.toString();
	}

	public BigDecimal getLbTiaoxiuCurrent() {
		return lbTiaoxiuCurrent;
	}

	public void setLbTiaoxiuCurrent(BigDecimal lbTiaoxiuCurrent) {
		this.lbTiaoxiuCurrent = lbTiaoxiuCurrent;
	}

	/**
	 * @deprecated Method getLbTiaoxiuForward is deprecated
	 */

	public BigDecimal getLbTiaoxiuForward() {
		return lbTiaoxiuForward;
	}

	public void setLbTiaoxiuForward(BigDecimal lbTiaoxiuForward) {
		this.lbTiaoxiuForward = lbTiaoxiuForward;
	}

	public String getNianjiaChoice() {
		return nianjiaChoice;
	}

	public void setNianjiaChoice(String nianjiaChoice) {
		this.nianjiaChoice = nianjiaChoice;
	}

	public String getTiaoxiuChoice() {
		return tiaoxiuChoice;
	}

	public void setTiaoxiuChoice(String tiaoxiuChoice) {
		this.tiaoxiuChoice = tiaoxiuChoice;
	}

	public BigDecimal getLbTiaoxiuYearCanUse() {
		return lbTiaoxiuYearCanUse;
	}

	public void setLbTiaoxiuYearCanUse(BigDecimal lbTiaoxiuYearCanUse) {
		this.lbTiaoxiuYearCanUse = lbTiaoxiuYearCanUse;
	}

	public Integer getLbLeaveType() {
		return lbLeaveType;
	}

	public void setLbLeaveType(Integer lbLeaveType) {
		this.lbLeaveType = lbLeaveType;
	}

	public BigDecimal getLbBalForwardDay() {
		return lbBalForwardDay;
	}

	public void setLbBalForwardDay(BigDecimal lbBalForwardDay) {
		this.lbBalForwardDay = lbBalForwardDay;
	}

	public BigDecimal getLbBalForwardHour() {
		return lbBalForwardHour;
	}

	public void setLbBalForwardHour(BigDecimal lbBalForwardHour) {
		this.lbBalForwardHour = lbBalForwardHour;
	}

	public BigDecimal getLbHoursOfYear() {
		return lbHoursOfYear;
	}

	public void setLbHoursOfYear(BigDecimal lbHoursOfYear) {
		this.lbHoursOfYear = lbHoursOfYear;
	}

	public BigDecimal getLbDaysForRelease() {
		return lbDaysForRelease;
	}

	public void setLbDaysForRelease(BigDecimal lbDaysForRelease) {
		this.lbDaysForRelease = lbDaysForRelease;
	}

	public BigDecimal getLbHoursForRelease() {
		return lbHoursForRelease;
	}

	public void setLbHoursForRelease(BigDecimal lbHoursForRelease) {
		this.lbHoursForRelease = lbHoursForRelease;
	}

	public Date getLbReleaseStartDate() {
		return lbReleaseStartDate;
	}

	public void setLbReleaseStartDate(Date lbReleaseStartDate) {
		this.lbReleaseStartDate = lbReleaseStartDate;
	}

	public BigDecimal getLbOtherDays() {
		return lbOtherDays;
	}

	public void setLbOtherDays(BigDecimal lbOtherDays) {
		this.lbOtherDays = lbOtherDays;
	}

	public BigDecimal getLbOtherHours() {
		return lbOtherHours;
	}

	public void setLbOtherHours(BigDecimal lbOtherHours) {
		this.lbOtherHours = lbOtherHours;
	}

	public Integer getLbStatus() {
		return lbStatus;
	}

	public void setLbStatus(Integer lbStatus) {
		this.lbStatus = lbStatus;
	}

	public static String REF = "Leavebalance";
	public static String PROP_LB_YEAR = "lbYear";
	public static String PROP_LB_ID = "lbId";
	public static String PROP_LB_COMMENTS = "lbComments";
	public static String PROP_LB_BAL_END_DATE = "lbBalEndDate";
	public static String PROP_LB_EMP_NO = "lbEmpNo";
	/**
	 * @deprecated Field PROP_LB_BAL_FORWARD is deprecated
	 */
	public static String PROP_LB_BAL_FORWARD = "lbBalForward";
	public static String PROP_LB_DAYS_OF_YEAR = "lbDaysOfYear";
	public static String PROP_LB_TIAOXIU_FORWARD = "lbTiaoxiuForward";
	public static String PROP_LB_LEAVE_TYPE = "lbLeaveType";
	public static String PROP_LB_BAL_FORWARD_DAY = "lbBalForwardDay";
	public static String PROP_LB_BAL_FORWARD_HOUR = "lbBalForwardHour";
	public static String PROP_LB_HOURS_OF_YEAR = "lbHoursOfYear";
	public static String PROP_LB_DAYS_FOR_RELEASE = "lbDaysForRelease";
	public static String PROP_LB_HOURS_FOR_RELEASE = "lbHoursForRelease";
	public static String PROP_LB_RELEASE_START_DATE = "lbReleaseStartDate";
	public static String PORP_LB_OTHER_DAYS = "lbOtherDays";
	public static String PROP_LB_OTHER_HOURS = "lbOtherHours";
	public static String PROP_LB_STATUS = "lbStatus";
	private int hashCode;
	private String lbId;
	private String lbYear;
	private BigDecimal lbBalForward;
	private Date lbBalEndDate;
	private BigDecimal lbDaysOfYear;
	private String lbComments;
	private BigDecimal lbTiaoxiuForward;
	private BigDecimal lbTiaoxiuCurrent;
	private BigDecimal lbTiaoxiuYearCanUse;
	private Integer lbLeaveType;
	private BigDecimal lbBalForwardDay;
	private BigDecimal lbBalForwardHour;
	private BigDecimal lbHoursOfYear;
	private BigDecimal lbDaysForRelease;
	private BigDecimal lbHoursForRelease;
	private Date lbReleaseStartDate;
	private BigDecimal lbOtherDays;
	private BigDecimal lbOtherHours;
	private Integer lbStatus;
	private String tiaoxiuChoice;
	private String nianjiaChoice;
	private Employee lbEmpNo;

}
